import request from '@/config/axios'

// 主要客源信息 VO
export interface MainsourceVO {
  id: number // id
  customerId: number // 客户编号
  customerName?: string // 客户名称
  createTime: Date // 创建时间
  updateTime: Date // 更新时间
  creator: string // 创建人
  creatorName?: string // 创建人名称
  updater: string // 修改人
  updaterName?: string // 修改人名称
  auditStatus: number // 审核状态
  processInstanceId?: string // 审核流程实例编号
}

// 主要客源信息 API
export const MainsourceApi = {
  // 查询主要客源信息分页
  getMainsourcePage: async (params: any) => {
    return await request.get({ url: `/crm/mainsource/page`, params })
  },

  // 查询主要客源信息详情
  getMainsource: async (id: number) => {
    return await request.get({ url: `/crm/mainsource/get?id=` + id })
  },

  // 主要客源信息审核
  submit: async (ids: number[],isReCreate: boolean) => {
    return await request.put({ url: `/crm/mainsource/submit`,params: { ids: ids.join(',') ,isReCreate: isReCreate }} )
  },

  // 根据客户查询主要客源信息详情
  getMainsourceByCustomerId: async (customerId: number) => {
    return await request.get({ url: `/crm/mainsource/getByCustomerId?customerId=` + customerId })
  },

  // 新增主要客源信息
  createMainsource: async (data: MainsourceVO) => {
    return await request.post({ url: `/crm/mainsource/create`, data })
  },

  // 修改主要客源信息
  updateMainsource: async (data: MainsourceVO) => {
    return await request.put({ url: `/crm/mainsource/update`, data })
  },

  // 删除主要客源信息
  deleteMainsource: async (id: number) => {
    return await request.delete({ url: `/crm/mainsource/delete?id=` + id })
  },

  // 导出主要客源信息 Excel
  exportMainsource: async (params) => {
    return await request.download({ url: `/crm/mainsource/export-excel`, params })
  },

// ==================== 子表（主要客源-信息） ====================

  // 获得主要客源-信息列表
  getMainsourceInfoListByMainsourceId: async (mainsourceId) => {
    return await request.get({ url: `/crm/mainsource/mainsource-info/list-by-mainsource-id?mainsourceId=` + mainsourceId })
  },
}
